﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Zocono.WCS.Domain.EntityInfo;
using Zocono.WCS.Infrastructure.ApllicationDto.WCSTaskDto;
using Zocono.WCS.Infrastructure.ApllicationDto;
using Zocono.WCS.Infrastructure.ApllicationDto.DtoWcsManage;

namespace Zocono.WCS.Domain.PlcConnectionDomain
{
    public interface IPlcConnectionInfoService : IDomainService
    {
        Task<PageDto<PlcConnectionInfo>> GetPagedPlcConnectionInfoAsync(QueryPlcConnectionInfoDto queryPlcConnectionInfo);
        Task<bool> CreatePlcConnectionInfoAsync(PlcConnectionInfo plcConnectionInfo);
        Task<bool> ModifyPlcConnectionInfoAsync(PlcConnectionInfo plcConnectionInfo);
        Task<bool> DeletePlcConnectionInfoAsync(List<PlcConnectionInfo> plcConnectionInfoList);
        Task<List<PlcConnectionInfo>> GetPlcConnectionInfoAsync();
        Task<PlcConnectionInfo> GetPlcConnectionInfoByIdAsync(long id);
        Task<PlcConnectionInfo> GetPlcConnectionInfoByIpAsync(string ip);
        Task<bool> DeletePlcConnectionIndoByIdAsync(long id);
        Task<List<PlcConnectionLockInfoDto>> GetPlcConnectionLockInfoAsync(QueryPlcConnectionLockInfoDto queryPlcConnectionLockInfoDto);
        Task<List<PlcConnectionStateInfoDto>> GetPlcConnectionStateInfoAsync(QueryPlcConnectionStateInfoDto queryPlcConnectionStateInfoDto);

    }
}
